home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / ddj0897.zip / DYN401.ZIP / class / setseq.d < prev    next >
Text File  |  1996-02-04  |  1KB  |  69 lines

  1.  
  2.  
  3. /*                                      
  4.  *
  5.  *      Copyright (c) 1993-1996 Algorithms Corporation
  6.  *      3020 Liberty Hills Drive
  7.  *      Franklin, TN 37067
  8.  *
  9.  *      ALL RIGHTS RESERVED.
  10.  *
  11.  *      
  12.  *      
  13.  */
  14.  
  15.  
  16.  
  17. #include "set1.h"
  18.  
  19.  
  20. defclass  SetSequence : Sequence  {
  21.     int    iTabidx;
  22.     int    iSize;
  23.     NODE    *iTab;
  24.     NODE    iCurrent;
  25. };
  26.  
  27. cmeth    gNewSetSeq, <vNew> (int size, int nelm, void *tab)
  28. {
  29.     object    seq = gNew(super);
  30.     ivType    *iv = ivPtr(seq);
  31.     iSize = size;
  32.     iTab = (NODE *) tab;
  33.     if (nelm)  {
  34.         for (; !iTab[iTabidx] ; ++iTabidx);
  35.         iCurrent = iTab[iTabidx];
  36.     }
  37.     return seq;
  38. }
  39.  
  40. imeth    gNext()
  41. {
  42.     NODE    n;
  43.     if (n = iCurrent)  {
  44.         if (!(iCurrent = iCurrent->next))
  45.             while (++iTabidx < iSize)
  46.                 if (iTab[iTabidx])  {
  47.                     iCurrent = iTab[iTabidx];
  48.                     break;
  49.                 }
  50.         return n->luk;
  51.     }
  52.     return gDispose(self);
  53. }
  54.  
  55.  
  56. /*                                      
  57.  *
  58.  *      Copyright (c) 1993-1996 Algorithms Corporation
  59.  *      3020 Liberty Hills Drive
  60.  *      Franklin, TN 37067
  61.  *
  62.  *      ALL RIGHTS RESERVED.
  63.  *
  64.  *      
  65.  *      
  66.  */
  67.  
  68.  
  69.